1) Field of the Invention
The present invention relates to operational planning systems for robotic devices and particularly to methods of controlling and optimizing the movement of such devices using syntax based algorithms. The invention also provides an error recovery method for robotic devices.
2) Description of the Prior Art
Robots are exceedingly adept at moving in straight lines between precisely specified points. In real applications, however, motion is seldom so straightforward. Typical applications require the end effector of the robot to move through a series of programmed points to reach a pick-up point, grasp a payload at the pick-up point, then move through another series of points to a drop-off point, etc.
In the sequence of movements executed by the robot's effector, care must be taken to avoid, inter alia, the following “errors”:
the end effector and/or payload hitting an obstacle during the motion sequence.
another moving object striking the robot or payload.
the robot moving through a singularity, or from ending up in an incorrect stance because of singularities.
the robot entering an invalid geometry that would, for example, spill the contents of the payload or cause some other unwanted effect.
As known in the art, an “inverse kinematic” solution for a robotic device (such as, for example a robotic arm as known in the art, having a number of degrees of freedom) refers to the manner in which the device moves itself to a given location in space. A singularity is a location of a robotic device where an infinite number of inverse kinematic solutions are possible. That is, a position where the device can place itself in an infinite number of combinations of its degrees of freedom. Due to such infinite number of possibilities, upon encountering a singularity, the result would be unexpected and unsafe movement of the device, which should be avoided.
Thus, a “planning” system is needed to guide the movement of the robot. Planning systems or methods for dealing with the above requirements—i.e. preventing collisions, avoiding singularities and preserving orientation—range from simple and inflexible code to extremely complex algorithms. One of the most simple approaches is to generate the sequences in hand-coded scripts. Although coded scripts specific to a particular application are relatively simple to design, they also have the disadvantage of being inflexible in behaviour or not adaptable to any change to the particular systems they are designed for. In such systems, motions tend to follow very “formal” patterns because any “shortcuts” between distant points must be explicitly coded on a per-case basis. It is, therefore, difficult to have such a system take advantage of fortuitous geometry where applicable.
A more complex approach is to model the entire workspace, including the robot and payload, geometrically. This type of motion planner would then lay out the robot motion according to actual geometric constraints. This method has the potential to yield the very best performance, but has at least three major problems. First, the workspace, robot and payload must be modeled very accurately and any errors in the model may lead to collisions. Second, the computational complexity of this approach is enormous and places high demands on the computational processor and requires a large memory capacity. Lastly, there may be other considerations restricting movement of the robot such as, for example, avoiding an open flame, that may be very difficult to model.
Various planning algorithms have been proposed in the prior art. Examples of such methods are described in U.S. Pat. Nos. 6,493,607 and 5,513,299. In both cases, the proposed methods involve complex modelling of the geometries included in the system.
Thus, a need exists for a simplified robotic planning system or method that is adjustable to changes in the environment it is used in and one that is easy to implement.